package com.xinsoft.entity.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 销售订单分页列表vo
 */
@Data
public class ScmSaleListVo implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ApiModelProperty(value = "主键ID", notes = "")
    private Integer id;

    /**
     * 客户id
     */
    private Integer clientId;

    /**
     * 客户名称
     */
    @Excel(name = "客户名称",orderNum = "3")
    private String clientName;

    /**
     * 收货地址
     */
    private String clientAddress;

    /**
     * 销售员
     */
    private Integer salesPersonId;

    /**
     * 销售员
     */
    @Excel(name = "销售员",orderNum = "4")
    private String salesPersonName;

    /**
     * 销售部门
     */
    @Excel(name = "销售部门",orderNum = "5")
    private String salesPersonDept;

    /**
     * 合同编号
     */
    @Excel(name = "合同编号",orderNum = "1",width = 25)
    private String contractCode;

    /**
     * 合同类型
     */
    @Excel(name = "合同类型",orderNum = "2")
    // private Integer contractType;
    private String contractTypeName;

    /**
     * 合同日期
     */
    @Excel(name = "合同日期",orderNum = "0",exportFormat = "yyyy-MM-dd HH:mm:ss",width = 25)
    private Date contractDate;

    /**
     * 审核状态
     */
    private Integer auditSign;

    /**
     * 关闭状态(0未关闭/1关闭)
     */
    private Integer doClose;

    /**
     * 审批状态 默认0暂存, 1:已提交(审批中), 2:驳回, 3:审批通过
     */
    private Integer approveStatus;

    @Excel(name = "审批状态",orderNum = "18")
    private String approveStatusName;



    /**
     * 是否发货检
     */
    private Integer doSendCheck;

    /**
     * 是否发货检
     */
    @Excel(name = "是否发货检",orderNum = "6")
    private String doSendCheckName;

    /**
     * 交货日期
     */
    @Excel(name = "交货日期", orderNum = "7", exportFormat = "yyyy-MM-dd HH:mm:ss", width = 25)
    private Date deliveryDate;

    /**
     * 物料ID
     */
    private Integer materialId;

    /**
     * 物料编码
     */
    @Excel(name = "物料编码",orderNum = "8")
    private String materialNo;

    /**
     * 物料名称
     */
    @Excel(name = "物料名称",orderNum = "9")
    private String materialName;

    /**
     * 规格属性
     */
    @Excel(name = "规格属性",orderNum = "10")
    private String materialSpecific;

    /**
     * 销售数量
     */
    @Excel(name = "销售数量",orderNum = "11")
    private BigDecimal saleNum;

    /**
     * 主单位可用数量
     */
    private BigDecimal primaryUnitCount;

    /**
     * 辅助单位可用数量
     */
    private BigDecimal auxiliaryUnitCount;


    /**
     * 辅助销售数量
     */
    @Excel(name = "辅助销售数量",orderNum = "13")
    private BigDecimal supportSaleNum;

    /**
     * 计量单位
     */
    private Integer mainUnit;

    /**
     * 计量单位
     */
    @Excel(name = "主单位",orderNum = "12")
    private String mainUnitName;

    /**
     * 辅助单位
     */
    private Integer supportUom;

    /**
     * 辅助单位
     */
    @Excel(name = "辅助单位",orderNum = "14")
    private String supportUomName;

    /**
     * 税率
     */
    private BigDecimal tax;

    /**
     * 含税单价
     */
    @Excel(name = "含税单价",orderNum = "15")
    private BigDecimal taxUnitPrice;

    /**
     * 含税总价
     */
    @Excel(name = "含税总价",orderNum = "16")
    private BigDecimal taxTotalPrice;

    /**
     * 是否行关闭 0-否 1 - 是
     */
    private Integer lineDoClose;

    /**
     * 是否行关闭 0-否 1 - 是
     */
    @Excel(name = "是否行关闭",orderNum = "17")
    private String lineDoCloseName;

    /**
     * 换算系数
     */
    private BigDecimal convCoefficient;
}
